perm filename PUMP.HAL[LOU,BGB] blob sn#117403 filedate 1974-12-08 generic text, type T, neo UTF8
00100	TRANS	PP	     16.20     33.10      2.20    125.00     90.00       .00
00200	TRANS	PH1	     15.39     32.54      5.00   -118.30     87.75     94.60
00300	TRANS	SCE	     30.11     34.50      5.26    149.47     90.00     61.28
00400	TRANS	T1	     30.78     31.20      5.65    140.75     87.57     50.88
00500	TRANS	PS	     16.03     29.28      3.00    112.00     90.00       .00
00600	TRANS	TOP	     20.00     30.00      1.00    180.00     90.00       .00
00700	TRANS	G1	     26.53     22.86      1.35   -157.16     89.36      8.04
00800	TRANS	PA	     16.58     27.88      3.00    124.00     90.00       .00
00900	TRANS	H1	     15.30     32.57      4.97    150.44     90.00       .00
01000	TRANS	BRG	     23.99     37.27      2.79   -176.24     27.53      1.60
01100	TRANS	H2	     14.97     34.78      5.00     44.04     90.00       .00
01200	TRANS	H3	     16.93     35.06      4.67    141.16     90.00       .00
01300	TRANS	P1	     28.22     30.08      1.97     89.49     89.95       .00
01400	TRANS	TP	     16.27     33.73      6.59   -102.57     62.20     -1.37
01500	TRANS	H4	     19.03     34.77      4.60    178.70     90.00     28.65
01600	TRANS	P2	     28.16     32.22      2.01     91.11     89.97       .00
01700	TRANS	H5	     18.59     32.77      4.66     23.24     90.00       .00
01800	TRANS	LT	     26.03     35.16      4.50      5.00     90.00       .00
01900	TRANS	H6	     17.47     32.99      4.65     39.49     89.98       .00
02000	TRANS	SCRW	     30.07     36.13      5.50    151.48     90.00     62.30
02100	TRANS	SCT	     30.10     34.50      3.73    154.35     87.27     66.42
02200	TRANS	POST	     16.29     33.74      7.50   -157.71     88.55    112.50
02300	TRANS	OLET	     24.41     35.40      1.77   -178.53     41.56       .46
02400	TRANS	GAS	     14.88     33.67      5.84    179.04     89.55       .00
02500	TRANS	GT	     25.95     35.16      5.74     90.00     60.00     90.00
02600	TRANS	INTER	     24.53     30.53      4.41   -176.20     31.37      1.65
02700	TRANS	PH2	     15.04     34.64      5.00   -168.07     87.76    146.19
02800	
02900	
     

00100	VECT	V	       .00      2.00       .00
00200	VECT	A	       .00      1.00      2.00
00300	VECT	TPA	      1.00       .00      3.00
00400	VECT	X	      1.00       .00       .00
00500	VECT	ND	       .00       .00      3.00
00600	VECT	Y	       .00      1.00       .00
00700	VECT	Z	       .00       .00      1.00
00800	VECT	T1A	       .00       .00      3.00
00900	VECT	LL	       .00       .00       .50
01000	VECT	F	       .00       .00    -60.00
01100	VECT	PA	     -1.00     -1.00      1.00
01200	VECT	PB	      1.00      1.00      1.00
01300	VECT	BB	       .50      1.00      1.00
01400	VECT	H1	      -.15       .10      3.10
01500	VECT	PD	     -3.00       .00      6.00
01600	VECT	H1A	       .00     -3.00      3.00
01700	VECT	H2	      -.02      -.07      2.95
01800	VECT	K	       .90       .90       .90
01900	VECT	H3	      -.05      -.05      3.30
02000	VECT	H4	       .00       .00      3.30
02100	VECT	H3A	       .00      2.00      3.00
02200	VECT	H2A	     -1.00      1.00      4.00
02300	VECT	H5	       .00       .00      3.30
02400	VECT	H5A	       .00     -2.00      3.00
02500	VECT	H6	      -.15       .00      3.30
02600	VECT	H4A	       .00      2.00      3.00
02700	VECT	UP	       .00       .00      6.00
02800	VECT	SA	       .00     -1.00      4.00
02900	VECT	H6A	       .00     -2.00      3.00
03000	VECT	TA	       .00     -2.00      1.00
03100	VECT	MV	       .00       .00   -400.00
03200	VECT	FV	       .00       .00    -60.00
03300	VECT	NIL	       .00       .00       .00
     

00100	DEFINE	JOB	                ;THIS CALLS ALL THE OTHER MACROS
00200	BEGIN PUMP
00300	ALIGN
00400	PIN P1 PH1
00500	PIN P2 PH2
00600	GASKET
00700	TOP
00800	SCRW1
00900	UNPIN PH1 P1 H1A
01000	UNPIN PH2 P2 H2A
01100	SCRW2
01200	TEST
01300	END
01400	
     

00100	DEFINE	ALIGN	                ;THIS PICKS UP THE PUMP BASE
00200	OPEN 2.25
00300	MERGE
00400	GOTO PS
00500	CENTER .1
00600	SAVE PUMP
00700	OPEN 5
00800	GOTO PA
00900	RESTORE PUMP 1
01000	VECT FV
01100	0 0 -200
01200	STOP FV NIL
01300	CHANGE Z -2 NIL 0 100
01400	CLOSE 2
01500	CONO PA PB 64 30 60
01600	NNUL
01700	MOVE PP X -.5 NIL 0
01800	VECT FV
01900	40 0 0
02000	STOP FV NIL
02100	SPIN 1 Z
02200	VECT V
02300	2 0 0
02400	CONO ND PB 64 0 0
02500	CHANGE V 1 NIL 0 200
02600	VECT FV
02700	0 20 0
02800	STOP FV NIL
02900	VECT FV
03000	60 0 0
03100	FORCE FV NIL
03200	FREE 1 X
03300	SPIN 1 Z
03400	VECT V
03500	0 2 0
03600	CONO ND PB 64 0 0
03700	CHANGE V 1 NIL 0 200
03800	VECT FV
03900	30 30 0
04000	FORCE FV NIL
04100	VECT FV
04200	0 0 -120
04300	STOP FV NIL
04400	FREE 2 X Y
04500	SPIN 1 Z
04600	CONO ND PB 64 0 0
04700	CHANGE Z -1.5 NIL 0 0
04800	OPEN 5
04900	NNUL
05000	CHANGE Z 3 NIL 0 0
05100	
     

00100	DEFINE	PIN	P H             ;PUTS PIN P INTO HOLE H
00200	FLUSH
00300	OPEN 1
00400	GOTO P                          ;GO TO THE PIN
00500	CLOSE -.1
00600	SAVE P
00700	NNUL
00800	CHANGE Z .7 NIL 0 0             ;LIFT IT OUT
00900	ASSIGN LAND 12
01000	ASSIGN BOTTOM 2
01100	FIND H Z .2                     ;PUT IT IN THE HOLE H
01200	SAVE H
01300	OPEN .5
01400	CLOSE -.1                       ;AND CHECK THAT IT IS STILL THERE
01500	OPEN 1
01600	
01700	DEFINE	FIND	T D F           ;PUTS THINGS IN HOLES
01800	FLUSH
01900	NNUL
02000	GOTO T D F NIL 0                ;GO TO THE HOLE
02100	VECT FV
02200	0 0 -50
02300	SEARCH .1 Z X
02400	CONO LL NIL 0 0 0
02500	DEPART LL
02600	L1: GOTO T D F NIL 0            ;GO TO THE HOLE
02700	STOP FV NIL
02800	NNUL
02900	CHANGE Z -.6 NIL 0 60           ;TRY TO GO DOWN WITHOUT MEETING RESISTANCE
03000	SKIPN 23
03100	JUMP L3
03200	AOJ 1
03300	SOJG LAND L1
03400	JUMP L2
03500	VECT FV
03600	0 0 -60
03700	L3: STOP FV NIL
03800	FREE 2 X Y
03900	NNUL
04000	CHANGE Z -0.7 NIL 0 60          ;SHOULD MEET SOME RESISTANCE
04100	SKIPE 23
04200	JUMP L4
04300	AOJ 1
04400	SOJG BOTTOM L1
04500	L2: WAIT PUT THE PIN IN THE HOLE AND PROCEED
04600	L4: JUMP 1
04700	
     

00100	DEFINE	GASKET	                ;PUTS THE GASKET ON
00200	OPEN .7
00300	MERGE
00400	GOTO G1                         ;GO TO THE GASKET
00500	CLOSE -.1
00600	CHANGE Z .5 NIL 0 0             ;PICK IT UP
00700	GOTO GAS                        ;GO TO THE PUMP
00800	VECT FV
00900	0 0 -40
01000	STOP FV NIL
01100	FREE 2 X Y
01200	NNUL
01300	CHANGE Z -1.5 NIL 0 100         ;AND PUT IT ON CAREFULLY
01400	SKIPE 23
01500	WAIT THE GASKET IS STUCK PUT IT ON AND PROCEED
01600	OPEN 1.5
01700	
01800	DEFINE	TOP	                ;PUTS THE TOP ON
01900	CONO NIL NIL 0 0 0
02000	NNUL
02100	GOTO INTER
02200	CONO TA NIL 0 0 0
02300	OPEN 3
02400	MERGE
02500	GOTO BRG
02600	CENTER 1                        ;CENTER ON THE BEARING
02700	VECT BB
02800	.5 1 1
02900	CONO TPA BB 32 50 50
03000	DEPART ND
03100	MOVE TP                         ;MOVE TO THE PUMP
03200	CONO ND BB 32 0 0
03300	VECT FV
03400	0 0 -100
03500	STOP FV NIL
03600	FREE 2 X Y
03700	NNUL
03800	CHANGE Z -2 NIL 0 150           ;PUT IT ON CAREFULLY
03900	SKIPE 23
04000	WAIT FREE THE TOP AND PROCEED
04100	VECT FV
04200	0 0 -40
04300	STOP FV NIL
04400	CONO ND BB 32 0 0
04500	FREE 2 X Y
04600	CHANGE Z -2.5 V 0 100           ;THEN ALL THE WAY ON
04700	OPEN 3
04800	DEPART TPA
04900	
     

00100	DEFINE	SS	                ;PICKS UP THE SCREWDRIVER
00200	OPEN 3
00300	MERGE
00400	GOTO T1                         ;WHERE THE TOOL IS
00500	VECT FV
00600	0 0 -60
00700	STOP FV NIL
00800	FREE 1 X
00900	CHANGE Z -2 NIL 0 100           ;PLACE HAND ON TOP OF TOOL
01000	VECT FV
01100	0 0 -300
01200	FORCE FV NIL
01300	VECT FV
01400	0 0 -100
01500	STOP FV NIL
01600	SPIN 1 Z
01700	CHANGE Z -1 NIL 0 0             ;PUSH THE HAND DOWN ON THE TOOL
01800	CLOSE 1
01900	NNUL
02000	CHANGE Z 4 NIL 0 0              ;PICK IT UP
02100	NNUL
02200	CONO SA NIL 0 0 0
02300	DEPART NIL
02400	GOTO SCRW                       ;AND GO THE THE DISPENSER
02500	
02600	DEFINE	SB	
02700	NNUL
02800	GOTO T1 Z 1 NIL 0
02900	VECT FV
03000	0 0 -300
03100	STOP FV NIL
03200	CHANGE Z -3 NIL 0 100
03300	OPEN 3
03400	NNUL
03500	CHANGE Z 3 NIL 0 100
03600	
     

00100	DEFINE	SCRW	H A             ;STARTS HOLDING SCREWDRIVER AT DISPENSER
00200	                                ;PICKS UP A SCREW AND DRIVES IT INTO HOLE H
00300	                                ;USING APPROACH A
00400	FLUSH
00500	ASSIGN SCREW 4                  ;NUMBER OF TIMES TO TRY TO PICK UP SCREW
00600	JUMP 2
00700	L4: GO SCRW
00800	PLACE
00900	VECT F
01000	0 20 -100
01100	FREE 2 Y Z
01200	FORCE F NIL
01300	NNUL
01400	SCREW -20
01500	MERGE
01600	DRIVE 1 0 30                    ;PUSH THE SCREWDRIVER AGAINST THE DISPENSER
01700	                                ;AND DOWN ON THE SCREW AS IT ROTATES
01800	VECT FV
01900	0 0 -50
02000	STOP FV NIL
02100	VECT FV
02200	0 0 -100
02300	FORCE FV NIL
02400	WOBBLE .2
02500	CHANGE Z -.5 NIL 0 10           ;PUSH THE SCREWDRIVER INTO THE SCREW HEAD
02600	FREE 2 X Y
02700	CHANGE Z .20 NIL 0 120          ;LIFT THE SCREW UP OVER THE END STOP
02800	NNUL
02900	FREE 1 X
03000	VECT F
03100	0 -20 0
03200	STOP F NIL
03300	CONO ND NIL 0 100 100
03400	GO SCE                          ;AND TAKE IT OUT
03500	SKIPN 23
03600	JUMP L3                         ;NO EXCESSIVE FORCE SO PROCEED
03700	ASSIGN PULL 3                   ;TIMES TO TRY PULLING OUT
03800	L2: WOBBLE .5
03900	VECT FV
04000	0 0 100
04100	STOP FV NIL
04200	CHANGE Z 1 NIL 0 0
04300	SKIPN 23
04400	JUMP L5                         ;CAME OUT FINE
04500	SOJG PULL L2                    ;TOO MUCH FORCE TRY AGAIN
04600	JUMP L6                         ;DO IT BY HAND
04700	L5: SOJG SCREW L4
04800	JUMP L6
04900	VECT F
05000	0 0 -60
05100	L3: STOP F NIL                  ;DRIVER CAME OUT CHECK IF IT HAS SCREW
     

00100	GO SCT
00200	SKIPE 23
00300	JUMP L7                         ;ALL OK GO TO HOLE
00400	NNUL
00500	GOTO SCRW                       ;GO BACK TO BEGINNING
00600	SOJG SCREW L4
00700	L6: WAIT FREE THE SCREW DRIVER PUT A SCREW ON ITS END AND PROCEED
00800	CONO A NIL 0 0 0
00900	L7: ASSIGN LAND 12
01000	ASSIGN BOTTOM 3
01100	FIND H H 1                      ;FIND THE HOLE
01200	FREE 3 X Y Z
01300	VECT FV
01400	0 0 -60
01500	VECT MV
01600	0 0 -100
01700	STOP NIL MV
01800	FORCE FV NIL
01900	SCREW -60
02000	MERGE
02100	CHANGE NIL 0 NIL 0 100          ;AND DRIVE IN THE SCREW
02200	SKIPE 23
02300	JUMP 1
02400	ASSIGN OUT 10
02500	L1: FREE 2 X Y
02600	SPIN 3 X Y Z
02700	WOBBLE .5
02800	CHANGE Z .3 NIL 0 100           ;PULL THE DRIVER OUT A LITTLE
02900	VECT FV
03000	0 0 100
03100	STOP FV NIL
03200	NNUL
03300	CHANGE Z 1 NIL 0 50             ;AND THEN A BIT MORE BUT STOP IF STUCK IN PUMP
03400	SKIPN 23
03500	JUMP L8
03600	SOJG OUT L1
03700	WAIT FREE THE SCREW DRIVER AND PROCEED
03800	L8: JUMP 1
03900	
     

00100	DEFINE	UNPIN	H P A           ;TAKES PIN P OUT OF HOLE H USING APPROACH A
00200	FLUSH
00300	OPEN 1
00400	MERGE
00500	CONO A NIL 0 0 0
00600	GOTO H Z .3 NIL 0               ;GO TO THE PIN IN HOLE H
00700	RESTORE H 0
00800	L1: CLOSE -1                    ;GRASP IT
00900	VECT FV
01000	0 0 100
01100	STOP FV NIL
01200	CHANGE Z 1.0 NIL 0 50           ;TRY TO PULL IT OUT
01300	SKIPN 23
01400	JUMP L2
01500	OPEN 1                          ;TOO MUCH FORCE, LET GO AND TRY AGAIN
01600	GO H Z .3 NIL 0
01700	RESTORE H 0
01800	JUMP L1
01900	DEPART A
02000	L2: GOTO P Z .7 NIL 0
02100	RESTORE P 1
02200	VECT FV
02300	0 0 -40
02400	STOP FV NIL
02500	CHANGE Z -1 NIL 0 60
02600	OPEN 1
02700	
02800	DEFINE	TEST	                ;TURNS THE PUMP OVER
02900	FLUSH
03000	OPEN 2
03100	MERGE
03200	GOTO POST
03300	CENTER .2
03400	OPEN 1
03500	DRIVE 6 120 0
03600	CENTER .2
03700	OPEN 1
03800	DRIVE 6 120 0
03900	CENTER .2
04000	VECT MV
04100	0 0 -400
04200	STOP NIL MV
04300	FREE 2 X Y
04400	SPIN 2 X Y
04500	DRIVE 6 360 220
04600	SKIPN 23
04700	JUMP L1
04800	WAIT THE PUMP FAILS THE TORQUE TEST PROCEED TO PARK THE ARM
04900	L1: OPEN 2
05000	PARK
05100	
     

00100	DEFINE	SCRW1	                ;PUTS IN THE FIRST TWO SCREWS
00200	SS
00300	SCRW H4 H4A
00400	DEPART H4A
00500	CONO SA NIL 0 0 0
00600	NNUL
00700	GOTO SCRW
00800	SCRW H5 H5A
00900	DEPART H5A
01000	SB
01100	
01200	DEFINE	SCRW2	                ;PUTS IN THE LAST FOUR SCREWS
01300	SS
01400	SCRW H1 H1A
01500	CONO SA NIL 0 0 0
01600	DEPART H1A
01700	NNUL
01800	GOTO SCRW
01900	SCRW H2 H2A
02000	CONO SA NIL 0 0 0
02100	DEPART H2A
02200	NNUL
02300	GOTO SCRW
02400	SCRW H3 H3A
02500	CONO SA NIL 0 0 0
02600	DEPART H3A
02700	NNUL
02800	GOTO SCRW
02900	SCRW H6 H6A
03000	CONO T1A NIL 0 0 0
03100	DEPART H6A
03200	SB
03300